package com.gitee.cirnochat.chat.model.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.gitee.cirnochat.common.model.enums.BaseEnum;
import lombok.Getter;

/**
 * 会话类型枚举
 * @author FlanChan
 * @since 2025-04-18 22:31:33
 */
@Getter
public enum ChatSessionType implements BaseEnum<Integer> {
    /**
     * 单聊
     */
    SINGLE(0),
    /**
     * 群聊
     */
    GROUP(1);

    @EnumValue // 用于 MyBatis-Plus 映射数据库值
    @JsonValue // 用于 JSON 序列化
    private final Integer value;


    ChatSessionType(Integer value) {
        this.value = value;
    }

    /**
         * 根据value获取枚举实例
         * @param value 枚举值
         * @return 对应的枚举实例
         */
        public static ChatSessionType fromValue(Integer value) {
            for (ChatSessionType type : ChatSessionType.values()) {
                if (type.getValue().equals(value)) {
                    return type;
                }
            }
            return null;
        }
}